package com.eastfair.config.vo;

import com.eastfair.annotation.annotation.LanguageConvert.LanguagePrimary;
import com.eastfair.annotation.annotation.LanguageConvert.LanguagePrimitiveConvert;
import com.eastfair.annotation.base.LanguageTypeEnum;
import com.eastfair.annotation.base.SupplementFieldEnum;
import com.eastfair.config.enumeration.FormFieldFieldGroupEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;

/**
 * Date:2022/3/19
 * Time:10:17
 *
 * @author zjn
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "ObjectFormFieldDetailsVO", description = "表单实体属性详情映射类")
public class ObjectFormFieldDetailVO implements Serializable {

    private static final long serialVersionUID = 7711539861479153578L;
    /**
     * 关键字
     */
    @ApiModelProperty(value = "关键字")
    private String keyword;

    /**
     * 字段名称
     */
    @LanguagePrimary
    @LanguagePrimitiveConvert(fieldType = SupplementFieldEnum.NAME, languageType = LanguageTypeEnum.CN)
    @ApiModelProperty(value = "字段名称")
    private String fieldName;
    /**
     * 字段英文名称
     */
    @LanguagePrimitiveConvert(fieldType = SupplementFieldEnum.NAME, languageType = LanguageTypeEnum.EN)
    @ApiModelProperty(value = "字段英文名称")
    private String fieldEnName;

    /**
     * 分组
     */
    @ApiModelProperty(value = "分组")
    private FormFieldFieldGroupEnum fieldGroup;

    /**
     * 字段类型
     */
    @ApiModelProperty(value = "字段类型")
    private String fieldType;

    /**
     * 排序
     */
    @ApiModelProperty(value = "排序")
    private Integer sequence;

    /**
     * 属性值
     */
    @ApiModelProperty(value = "属性值")
    private Object value;

    /**
     * 前缀属性值
     */
    @ApiModelProperty(value = "前缀属性值")
    private Object prefixValue;

    /**
     * 后缀属性值
     */
    @ApiModelProperty(value = "后缀属性值")
    private Object suffixValue;

}
